1. Field of the Invention
The present invention relates to a routing system and a method for managing forwarding information therein.
2. Description of the Related Art
A router exchanges a routing protocol control message with adjacent routers to collect routing information, and forwards a received packet according to the routing information.
As a demand for high-speed, diversificated Internet services increases, high performance network equipment which accommodates various protocols is required.
The router also undergoes such a change. That is, in order to process a mass of received packets, the router is being systemized, changing from a structure having one routing controller and one forwarder to a structure having one routing controller and at least one forwarder.
The routing system having one routing controller and at least one forwarder is shown in FIG. 1.
As shown in FIG. 1, the routing system includes a routing controller 100 and at least one forwarder 110. The routing controller 100 sets forwarding information from the best and lowest cost routing information while exchanging a routing protocol control message with adjacent routers and provides at least one forwarder 110 with the forwarding information. As the routing protocol, a routing information protocol (RIP), a border gateway protocol (BGP), or an open shortest path first (OSPF) is used. Each forwarder 110 includes a forwarding control module 112, a forwarding table 114, a next hop table 116; and an L2 table 118.
The forwarding control module 112 stores a destination IP (Internet protocol) address in the forwarding information provided from the routing controller 100 and an index of the next hop table 116 storing information about output interface for transmitting a packet having the destination IP address to the next hop, in the forwarding table 114 so that they correspond to each other. The forwarding control module 112 stores, in the forwarding table 116, the output interface information for transmitting the packet having the destination IP address to the next hop, which is contained in the forwarding information provided from the routing controller 100.
The output interface information includes an ID (identification) of a forwarder having the output interface, a maximum transfer unit (MTU) of the output interface, a port ID of the output interface for transmitting the packet having the destination IP address to the next hop, and an index of the L2 table 118 which stores MAC (media access control) address information related to the output interface. The forwarding control module 112 stores, in the L2 table 118, the MAC address information contained in the forwarding information provided from the routing controller 100.
The MAC address information stored in the L2 table 118 includes a MAC address of the forwarder (i.e., source MAC address), a MAC address of the next hop (i.e., destination MAC address), a protocol type, and so on. When the packet is received from the network, the forwarding control module 112 identifies the index of the next hop table 116 corresponding to the destination IP address in the forwarding table 114 by using the destination IP address contained in the received packet.
The forwarding control module 112 identifies the output interface information corresponding to the index of the next hop table 116 in the next hop table 116 by using the identified index of the next hop table 116. That is, the forwarding control module 112 identifies the port ID of the output interface used to forward the received packet to the next hop, the MTU (maximum transfer unit) which is the size of the packet transmitted through the output interface, and the index of the L2 table 112 used to identify the MAC address information.
The forwarding control module 112 identifies the MAC address of the forwarder 110 (i.e., source MAC address) and the MAC address of the next hop (i.e., destination MAC address) in the L2 table 118 using the index of the L2 table 118. Then, the forwarding control module 112 inserts the MAC address of the forwarder 110 and the MAC address of the next hop into the received packet and transmits the packet in a size of the MTU through the output interface port which is identified as the next hop.
In the routing system having the above-described structure, at least one forwarder forwards each received packet using the forwarding information provided from the routing controller. That is, at least one forwarder forwards the received packet using the index of the next hop table 116 and the index of the L2 table 118.
Here, the index of the next hop table 116 and the index of the L2 table 118 are managed and assigned by the routing controller 100, and thus they are the same in the at least one forwarder. The routing controller 110 provides the at least one forwarder 110 with a rebooting message when it is rebooted logically or physically. Then, the routing controller 100 sets new forwarding information from the best and lowest cost routing information while exchanging the routing protocol control message with the adjacent routers and provides the at least one forwarder 110 with the new forwarding information.
The forwarding control module 112 of the at least one forwarder 110 classifies the newly set forwarding information and stores them in the forwarding table 114, the next hop table 116, and the L2 table 118.
However, the forwarding control module 112 may have information corresponding to the index of the arbitrary next hop table 116 and the index of the L2 table 118 among the newly set forwarding information and information corresponding to the index of the arbitrary next hop table 116 and the index of the L2 table 118 among the existing forwarding information.
At this time, the information corresponding to the index of the arbitrary next hop table 116 and the index of the L2 table 118 among the newly set forwarding information may be different from the information corresponding to the index of the arbitrary next hop table 116 and the index of the L2 table 118 among the existing forwarding information. In this instance, the forwarding control module 112 cannot determine which information among the information corresponding to the index of the arbitrary next hop table 116 and the index of the L2 table 118 is used to forward the received packet when the index of the arbitrary next hop table 116 and the index of the L2 table 118 are needed to forward the received packet.
For this reason, the forwarding control module 112 cannot perform the forwarding of the received packet. In order to resolve the problem, the forwarding control module 112 needs to assign the index of the next hop table and the index of the L2 table which are different to information corresponding to the index of the arbitrary next hop table 116 and information corresponding to the L2 table 118 which are different and thereby backs up them before the packet having the destination IP address which corresponds to the index of the arbitrary next hop table 116 and the index of the L2 table 118 is received.
However, the forwarding control module 112 cannot forward the received packet while performing the backup. Thus, the received packet may be lost while the backup is performed by the forwarding control module 112.
In order to prevent the received packet from being lost during the backup, tables for storing the forwarding information received before and after the rebooting of the routing controller 100 can be arranged respectively.
However, if the tables for storing the forwarding information received before and after the rebooting of the routing controller 100 are arranged, a double physical memory capacity is needed, leading to a high manufacturing cost of the routing system.